package cn.tedu.hotel.mapper;

import cn.tedu.hotel.pojo.entity.AlbumRoom;
import cn.tedu.hotel.pojo.entity.RoomType;
import cn.tedu.hotel.pojo.vo.AlbumListItemVO;
import cn.tedu.hotel.pojo.vo.AlbumRoomStandardVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 *   相册与房间关联数据的mapper接口
 */
@Repository
public interface AlbumRoomMapper {

    /**
     *  插入相册与房间关联数据
     * @param albumRoom
     * @return
     */
    int insert(AlbumRoom albumRoom);

    /**
     *
     * @param albumRooms
     */
    int insertBatch(List<AlbumRoom> albumRooms);

    /**
     *  根据id 删除房间与房间类型关联的数据
     * @param id
     * @return
     */
    int deleteById(Long id);

    /**
     *
     * @param albumRoom
     * @return
     */
    int update(AlbumRoom albumRoom);

    /**
     *  根据房间id 统计表中房间关联数据的数量
     * @param roomId
     * @return
     */
    int countByRoomId(Long roomId);

    /**
     *
     * @param albumId
     * @param roomId
     * @return
     */
    int countByRoomAndType(@Param("albumId") Long albumId, @Param("roomId") Long roomId);

    /**
     *
     * @param id
     * @return
     */
    AlbumRoomStandardVO getStandardById(Long id);

    /**
     *
     * @return
     */
    List<AlbumListItemVO> listAlbumRoom();

}
